System and method for a ran exchange

ABSTRACT

Using a Radio Access Network (RAN) capacity exchange (or RANxChange), mobile operators can advertise slices/partitions of available unused base station capacity, and auction and lease it. A member-operator can advertise their unused base station capacity availability or lease capacity from another member-operator for a specific time period. The bidding operators can bid for the full auctioned capacity or portion of the auctioned capacity. The users start attaching the leased slice transparently without any configuration changes on their mobile devices.

BACKGROUND OF THE INVENTION Field of Invention

The present invention relates to 4G and beyond for short-term,programmable Radio Access Network (RAN) and LTE spectrum sharing among aplurality of mobile operators or virtual operators applying programmablenetwork principles.

Discussion of Related Art

Sharing of the Radio Access Network (RAN), also known as RAN-sharing wasan idea originally proposed by operators to aid shortage of funds forinvestment into network infrastructure caused by extremely high licensefees. The RAN-sharing is viewed as a mechanism to shorten the networkdeployment period while greatly reducing operation costs. It wasinitially attractive mostly to small and medium mobile operators, butnow it has been widely implemented bi-laterally between many largemobile operators in Europe and US as well. Regulatory coveragerequirement of 60-98% for many European countries has also forced themto participate in RAN-sharing. Furthermore, it created a new market forwholesalers building LTE RAN infrastructure at rural locations andretailing it to other operators that can't economically justify thebuild out.

In RAN-sharing, the sharing operators keep their own core networkinfrastructure, and services. They also have independent provisioningand billing systems. They only share the radio access network, meaningthe shared RAN (base station(s)) is connected to the core network ofmultiple operators. In doing so, they effectively save time and cost infinding an appropriate site, in the physical deployment of the site, andequipping it with transmission facilities and radio equipment.

Even if two operators decide to deploy exactly the same service, theservice parameter setting may be different. So, how to deploy a servicewith varied radio performance on a shared physical device presents aconsiderable challenge to any operator. While RAN-sharing was happeningin an ad-hoc way, the standards group 3GPP developed two key standards:TR 22.951 V8.1.0 (service aspects and requirements for network sharing)and TR23.251 V8.1.0 (network sharing architecture and functionaldescription) that define two options for RAN-sharing: Multiple OperatorCore Networks (MOCN) and Gateway Core Network (GWCN). These optionsdescribe clearly how to provide traffic separation in a shared RAN toachieve RAN-sharing between many operators.

LTE provides a better infrastructure than older radio technologies forRAN-sharing primarily because the standards are built to allow asliceable RAN infrastructure—although slicing has not yet been apublished standard. Furthermore, because LTE is IP protocol based, it ismuch more flexible in routing traffic in different ways. Another aspectthat drives the sharing is that LTE RAN is far more expensive than theolder RAN technologies.

RAN-sharing offers an extremely attractive value combination foroperators, but there are key problems to be considered and solved interms of operation and maintenance: (a) the current model is typicallybased on bi-lateral agreements between operators and for prolonged timeperiods (e.g., 10 years), which puts them into an obligation for a longtime period, (b) if the requirements (capacity, QoS, service levelagreement (SLA) requirements etc.) change there is no flexibility in thesharing arrangement which is sealed through a contract, (c) because theprocess of configuring the services onto the RAN for each operator on amanual basis, it is not flexible enough to meet changing traffic needs.

A RAN is comprised of a number of base stations (also known as eNodeB)that is normally configured to connect to a core network (CN) of amobile operator upstream from the base stations, but it may also beconfigured to connect to a plurality of core networks wherein each corenetwork belongs to a different mobile operator. Doing so, the userequipment (UE) such as a smart phone, tablet or PC can access theplurality of mobile operators network via the shared RAN. The termupstream or uplink indicates the communication direction from the UEtowards the core network, whereas the term downstream or downlinkindicates from the core network towards the UE. The base stationcomprises a radio transmission and/or reception unit, one or moreantennas and a base station controller (BSC), all configured toestablish communication over a radio interface with the UEs.

Using the Multi Operator Core Network (MOCN), an approach defined by3GPP, the shared base station simultaneously broadcasts a plurality ofpublic land mobile network identifier (PLMN IDs) to the UE, each PLMN IDbeing associated with an operator's network sharing that base station.When the UE attempts to attach the base station with one of these PLMNIDs, the shared-RAN completes the UE attach procedure by sending therequest towards the Mobility Management Entity (MME) of the core networkthat belongs to the operator with that PLMN ID. The UE attach procedureis well known in prior art and hence will not be detailed here.

When a RAN is shared, the usage of eNodeB resources must be obtained andstored for proper reporting. The usage resources attributed to thecommunications of a UE, are

-   -   (a) the number of LTE resource blocks (using a time-frequency        grid) used up;    -   (b) the data throughput (or bandwidth) used on the link between        the UE and the base station that can be estimated from the        number of IP packets or bytes transmitted on the uplink and/or        downlink of the communication;    -   (c) transmission power level used up by the base station for the        specific UE communications.

In one embodiment, the usage may be estimated using a combination ofabove three parameters.

These usage parameters can be obtained either using the ElementManagement System (EMS) of the eNodeB or it can also be measured fromthe S1-U interface between the eNodeB and MME, wherein thecommunications with a specific UE is tracked. Both methods are known inprior art.

3GPP recently defined capabilities of an API for service capabilityexposure function (SCEF) in TR 23.708 to allow mobile operators tosecurely expose capabilities for sharing resources. It allows operatorsto interact with 3rd party service providers in exposing a greater setof 3GPP service capabilities as requested by 3rd parties using astandardized framework. However, this document does not specify how thesharing will be achieved.

Braun et. al. in EP2477427 A1 describes a method for multi-operatorcharging when a RAN is shared. It describes the usage informationmeasured from a base station such as radio resource block usage, uplinkand downlink data throughput, and transmission power usage per UEattached to a base station as possible components of usage and billing.However, Braun et. al. assumes a RAN-sharing is prearranged. It does notdescribe a system for advertising and brokering excess RAN capacity anda short time leasing mechanism.

Middleton et. al. in US 20140359092 A1 describes a capacity exchangeplatform for Open Content Delivery Network (CDN) wherein capacity refersto the ability of a particular CDN partner to deliver content on behalfof a content originator or content publisher. Capacity is determinedfrom the availability of disparate resources and disparate serviceattributes related to those resources. Resources that comprise a measureof capacity including processor cycles, memory, bandwidth, throughput,and services (e.g., caching of static content, caching of dynamiccontent, application services, media streaming, secure content delivery,etc.). These specific service attributes qualify the application ofcapacity and may include identifying a geographic region that thecapacity covers, identifying the time of day that the capacity isavailable, identifying the duration for the availability of capacity,and identifying the one or more points of presence (POPs). Although thesystem of Middleton et. al. has the similar goal as the RANxChange inprinciple to advertise, broker and share excess capacity, the underlyingresource definitions and the systems needed to operate it aretechnologically very different than RANxChange.

Gogic et. al. in US20140029529 A1 teaches methods and systems forallocating resources for RAN-sharing. A method generally includesmaintaining a breakdown of RAN resources committed to each of thesharing partners, assessing how to distribute the overall spare capacityof the RAN resources, and allocating the RAN resources in accordancewith the assessments and the relationship. It admits additional radiobearer corresponding to a partner if an assessed resource requirement ofthe radio bearer does not exceed the overall spare capacity of the RANresources and an excess capacity of the RAN resources committed toanother partner. It also describes how to admit specific traffic typesto use the spare capacity. However, Gogic et. al. does teach a systemand business model on how to broker and distribute RAN capacity betweenvarious contending operators.

Programmable networks and specifically Software Defined Networking (SDN)concepts are broadly applicable to transport services such as switchingand routing as well as physical and MAC layers. SDN in networking meansa control plane that is decoupled from the data plane of forwardingfunctions and assigned to a logically centralized controller, which isthe ‘brain’ of the network. The SDN architecture, with its softwareprogrammability, provides agile and automated network configuration andtraffic management that is vendor neutral and based on open standards.Network operators, exploiting the programmability of the SDNarchitecture, are able to dynamically adjust the network's flows to meetthe changing needs while optimizing the network resource usage. Thecontroller is the central control point of an SDN and hence vital in theproper operations of network switches.

Programmable RAN (ProgRAN) is a prior art concept that relies onprinciples of SDN for remotely configuring base stations with differentconfigurations for different traffic flows, i.e., achieving ‘slicing’ ofa base station. The key concepts of ProgRAN and RAN slicing essentiallyallow groups of users or applications to be treated differently byemploying a different ‘configuration file’ per user group within thebase station. The uplink/downlink resource utilization and the schedulercomponents can be individually programmed for each user group. Just likeRAN slicing principles being applicable to different user groups of anoperator, it is also applicable to the case of users of different mobileoperators. The brain of RAN slicing is the ‘RAN Slice Controller’ whichcan program one or more base stations according to user group orapplication profiles.

A slice is an optimized virtual network created by the mobile networkoperator (MNO) for a specific market scenario with specificrequirements. It aims to realize some of the expected benefits ofvirtualization by providing a model for operationalizing a virtualizedand programmable cloud-based network infrastructure. A slice isfundamentally composed of all necessary network assets, or resources, aswell as network functions to control these assets. Optionally, a slicemay include additional functions to control various aspects of thenetwork. Slice orchestration and control are necessary to design networkslices, determine their activity geography, and programmatically mapuser and/or flows to a given network slice. SDN keeps the networkcontrol in a logically centralized controller. As such, it provides anabstraction of the entire physical network infrastructure.

Instead of looking at a RAN as a collection of independent basestations, the ‘programmable RAN’ paradigm argues that all base stationsdeployed in a geographical area can be abstracted as a virtual big-basestation which is made up of distributed radio elements (i.e., theindividual physical base stations). Instead of assuming that each basestation has its own set of resources, programmable RAN (a) assumes thatall neighboring base stations are allocating from a fixed set of sharedradio resources which form a three dimensional grid of space, time, andfrequency slots; and (b) program them in a software defined fashion (asin an SDN) through a logically centralized radio access network (RAN)Slice Controller. With a control channel between each base station andthe controller, base stations provide updated global view of the networkto the controller, and allow the controller to communicate radioresource management decisions back to the base stations.

RAN Slice Controller allocates a group of resource blocks to each radiosubscriber/subscriber group. LTE uses OFDMA, where radio resources aresplit into time and frequency slots, called ‘resource blocks’. Thechannel quality and the interference for each subscriber can vary acrossthese resource blocks; hence, they must be smartly shuffled between thecontending subscribers. It also assigns transmit power values to eachresource block at each base station while conforming to overall transmitpower constraints. This major shift from the notion of a fixed basestation configuration to a programmable configuration allows a much moreefficient utilization of wireless network resources and instantreconfiguration to meet the needs of end devices.

The system and method of this invention allow: (a) use theprogrammability of each operator's RAN into different slices accordingto Sunay, U.S. Pat. No. 9,680,958 B2 (System and Method for ProgrammableRadio Access Networks), (b) sharing of RAN slices on a short-term leasewith a plurality of members of the system of invention, (c) pooling ofthe RAN capacity from a large number of mobile operators, and (c) fairbidding of the price for each RAN slice.

Embodiments of the present invention are an improvement over prior artsystems and methods.

SUMMARY OF THE INVENTION

This disclosure is about a Radio Access Network (RAN) capacity exchange(so called RANxChange), a system and method, through which the mobileoperators can advertise slices/partitions of available unused basestation capacity, and auction and lease it. A member of RANxChange is amobile operator, a virtual mobile operator, a private wireless networkoperator or even an application provider. A member-operator canadvertise their unused base station capacity availability or leasecapacity from another member-operator for a specific time period. Theplatform provides several advantages to member operators: (1) to scalecapacity through leasing without incurring capital expenditure for theleasee, (2) to acquire healthy revenues from unused radio accessresources that otherwise sit idle for the leaser, (3) avoid risksassociated with base station installations at locations of uncertaintyof user growth (such as rural areas), (4) through fair bidding, obtainbest pricing. The RANxChange platform is securely connected to eachmember operator's ‘RAN slice controller’ over the public Internet or aprivate network with an open Application Programming Interface (API),defined per this embodiment, to send directives to slice/partition thebase station radio resource between operators using principles ofprogrammable RAN. Each available RAN capacity slice is advertised usingattributes of (a) advertising operator, (b) leasing operator, (b)base-station location, (b) time-frame of availability, (c)time-frequency resource blocks (from the operator's own spectrum or apooled spectrum), and (d) total uplink and downlink data throughput andQoS. Aforementioned API further allows each leasee to send theirconfiguration files for their temporary slice to the RAN slicecontroller of the leasor, which in turn applies to the base station.These configuration files can be sent at the onset of the completion ofthe auctioning process for activation at the future start time, or rightbefore the start time of the slice. Furthermore, the RANxChange collectsperformance data from each leased RAN slice and reports to the leasee.

The bidding operators can bid for the full auctioned capacity or portionof the auctioned capacity. The users start attaching the leased slicetransparently without any configuration changes on their mobile devices.

In one embodiment, the present invention provides a method comprising:(a) determining unused base station capacity of at least one basestation owned by at least one mobile operator; (b) slicing determinedunused base station capacity of the at least one base station determinedin (a) into one or more slices; (c) advertising at least one slice inthe one or more slices of unused base station capacity with anassociated set of attributes for a short-term lease; (d) blocking use ofthe advertised at least one slice after the advertising step (c) bysending a directive for the blocking to the at least one base station;and (e) receiving instructions to remotely configure the advertised atleast one slice upon successful completion of an auctioning processwhere a leasee winning the auctioning process leases the at least oneslice on a short-term basis.

In another embodiment, the present invention provides a system allowingpartitioning of unused capacity of a plurality of base stations owned bya plurality of mobile operators, and a plurality of leasee leasingpartitions on a short-term basis, the system comprising: (a) a Web-basedinterface for communication with: (i) at least one mobile operatorowning a base station capacity, the Web-based interface enabling the atleast one mobile operator to become a member and advertise theirpartition of unused base station capacity with an associated set ofattributes for a short-term lease; (ii) at least one leasee interestedin leasing unused base station capacity, the Web-based interfaceenabling the at least one leasee to become another member and lease anavailable unused base station capacity partition. (b) a slice activatorto remotely send directives to Radio Access Network (RAN) slicecontrollers of mobile operators for blocking, activating and configuringpartitions for leasing; (c) a billing/charging engine allowingauctioning between multiple leasees and charging of a given leasee for agiven leased slice, the billing/charging engine connecting to a paymentgateway for transaction handling; and (d) a default local RAN slicecontroller receiving instructions from the slice activator and directlycontrolling base stations of those member mobile operators without alocal RAN Slice Controller, and sending directives to RAN SliceControllers of member mobile operators with local RAN Slice Controllerfor controlling their respective base stations.

In yet another embodiment, the present invention provides a method for afirst Radio Access Network (RAN) slice controller associated with afirst mobile operator to interface with a second RAN slice controller ofa second mobile operator using an API, the method comprising the stepsof: (a) authenticating and authorizing communications over the APIbetween the first RAN controller and the second RAN controller; (b)sending a second operator's configuration file to configure a specificslice on a base station associated with the first mobile operator forusage by the second mobile operator; and (c) sending a directive toactivate or deactivate usage of the specific slice by the secondoperator.

In yet another embodiment, the present invention provides a method foran external system interfacing with first Radio Access Network (RAN)slice controller associated with a first mobile operator and with asecond RAN slice controller of a second mobile operator using an API,the method comprising the steps of: (a) authenticating and authorizingcommunications over the API between the external system and the firstRAN slice controller, and between the external system and the second RANslice controller; (b) the first RAN slice controller reporting availableslice capacity to said external system allowing partitioning of unusedcapacity of a plurality of base stations owned by the first mobileoperator, and a plurality of leasee leasing reported partitions on ashort-term basis; (c) receiving from the external system a directive toblock usage of the slice capacity; (d) sending a second operator'sconfiguration file to configure a specific slice on a base stationassociated with the first mobile operator for usage by the second mobileoperator; (e) sending a directive to the first mobile operator toactivate or deactivate usage of the specific slice by the second mobileoperator; and (f) sending a directive to first operator to report usageof the specific slice by users associated with the second mobileoperator.

In yet another embodiment, the present invention provides a method for afirst Radio Access Network (RAN) slice controller associated with anexternal system interfacing directly with a first operator's basestation using an API, the method comprising the steps of: (a)authenticating and authorizing communications over the API between thethe first RAN slice controller and the base station; (b) receiving fromthe external system a directive to block a slice capacity's usage on thefirst operator's base station; (c) sending a second operator'sconfiguration file to configure a specific slice on a base stationassociated with the first mobile operator's base station for usage bythe second mobile operator; (d) sending a directive to the first mobileoperator's base station to activate or deactivate usage of the specificslice by the second mobile operator; and (e) sending a directive tofirst operator's base station to report usage of the specific slice byusers associated with the second mobile operator.

BRIEF DESCRIPTION OF THE DRAWINGS

The present disclosure, in accordance with one or more various examples,is described in detail with reference to the following figures. Thedrawings are provided for purposes of illustration only and merelydepict examples of the disclosure. These drawings are provided tofacilitate the reader's understanding of the disclosure and should notbe considered limiting of the breadth, scope, or applicability of thedisclosure. It should be noted that for clarity and ease of illustrationthese drawings are not necessarily made to scale.

FIG. 1 illustrates a RAN sharing between two operators according toprior art.

FIG. 2 illustrates base station slicing using a RAN slice controlleraccording to prior art.

FIG. 3 illustrates an embodiment of the invention with RANxChange.

FIG. 4 illustrates the components of RANxChange per this invention.

FIG. 5 illustrates an exemplary sequence of interactions between thelessor and leasee using local RAN slice controllers per this invention.

FIG. 6 illustrates an exemplary sequence of interactions between thelessor and leasee using a centralized RAN slice controller per thisinvention.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

While this invention is illustrated and described in a preferredembodiment, the invention may be produced in many differentconfigurations. There is depicted in the drawings, and will herein bedescribed in detail, a preferred embodiment of the invention, with theunderstanding that the present disclosure is to be considered as anexemplification of the principles of the invention and the associatedfunctional specifications for its construction and is not intended tolimit the invention to the embodiment illustrated. Those skilled in theart will envision many other possible variations within the scope of thepresent invention.

Note that in this description, references to “one embodiment” or “anembodiment” mean that the feature being referred to is included in atleast one embodiment of the invention. Further, separate references to“one embodiment” in this description do not necessarily refer to thesame embodiment; however, neither are such embodiments mutuallyexclusive, unless so stated and except as will be readily apparent tothose of ordinary skill in the art. Thus, the present invention caninclude any variety of combinations and/or integrations of theembodiments described herein.

An electronic device (e.g., base station, agent or controller) storesand transmits (internally and/or with other electronic devices over anetwork) code (composed of software instructions) and data usingmachine-readable media, such as non-transitory machine-readable media(e.g., machine-readable storage media such as magnetic disks; opticaldisks; read only memory; flash memory devices; phase change memory) andtransitory machine-readable transmission media (e.g., electrical,optical, acoustical or other form of propagated signals—such as carrierwaves, infrared signals). In addition, such electronic devices includehardware, such as a set of one or more processors coupled to one or moreother components—e.g., one or more non-transitory machine-readablestorage media (to store code and/or data) and network connections (totransmit code and/or data using propagating signals), as well as userinput/output devices (e.g., a keyboard, a touchscreen, and/or a display)in some cases. The coupling of the set of processors and othercomponents is typically through one or more interconnects within theelectronic devices (e.g., busses and possibly bridges). Thus, anon-transitory machine-readable medium of a given electronic devicetypically stores instructions for execution on one or more processors ofthat electronic device. One or more parts of an embodiment of theinvention may be implemented using different combinations of software,firmware, and/or hardware. As used herein, a network device is a pieceof networking equipment, including hardware and software thatcommunicatively interconnects other equipment on the network (e.g.,other network devices, end systems). A network device is generallyidentified by its media access (MAC) address, Internet protocol (IP)address/subnet, network sockets/ports, and/or upper OSI layeridentifiers.

A Radio Access Network (RAN) is comprised of one or more base stations.A base station provides cellular connection of user equipment (UE) to amobile operator's core network. The base station is connected to anantenna (or multiple antennas) that receives and transmits the signalsin the cellular network to cellular phones and other cellular devices(known as UE). The RAN is connected to mobile operator's Core Network(CN) to transmit data end to end.

Unless specified otherwise, the embodiments of the invention apply toany RAN Slice Controller of the layered network architecture, i.e., theyare NOT limited to an SDN type controller or ProgRAN of prior art.Although the RAN Slice Controller is shown to have remote communicationswith all base stations, it is possible to implement it on one of thebase station's hardware.

Note while the illustrated examples in the specification discuss mainlya programmable radio access network (RAN) relying on the SDN paradigm ofhaving a separate controller(s) to manage network resources incommunications with a group of base stations, embodiments of theinvention may also be implemented in other types of software definedradio networks. It can be implemented in any layered networkarchitecture wherein there is a control infrastructure separated fromwireless data transmission that can be instructed to change theallocation of resources to wireless end devices. Unless specifiedotherwise, the embodiments of the invention apply to any programmable orsoftware defined RAN slice controller.

FIG. 1 illustrates Operator A and B sharing a RAN. 3GPP specifications22.951 and 23.251 describe the network sharing requirements andarchitecture. The main feature that allows network sharing in LTE is theability of the eNodeB (one of the base stations in the RAN) to broadcastmultiple PLMN IDs towards the UE during the attachment process. Eachoperator has a unique Public Land Mobile Network (PLMN) ID, which iscombination of Mobile Country Code and Mobile Network Code. The UE isexpected to select the PLMN ID based on its programmed selectionprocess. The eNodeB in turn uses this PLMN ID to select the operatorCore Network to connect to. This method of eNodeB serving multipleoperators is called Multi Operator Core Network (MOCN).

In FIG. 1 Operator A's core network 165 exposes Mobility ManagementEntity (MME) 131 and Serving Gateway (S-GW) 133 towards the eNodeB ofthe shared RAN 155, which is comprised of at least one eNodeB 159. Theinterfaces between an eNodeB and various components of the Core Networkare well defined in 3GPP standards, and thus in prior art. Similarly,Operator B's core network 195 exposes MME 132 and S-GW 134 towardsshared RAN 155. Note that, Operator A has PLMN 1 and Operator B has PLMN2. Therefore, eNodeB 159 in shared RAN 155 must broadcast both PLMN 1and 2. The control traffic of UEs that attach to Operator A are routedtowards Operator A's MME 131 and data traffic towards S-GW 133.Similarly, the control traffic of UEs that attach to Operator B arerouted towards Operator B's MME 132 and data traffic towards S-GW 134.Operator A may also have dedicated RAN 157, to which only UEs ofOperator A are attached, but attached to the same MME 131 and S-GW 133.Meaning MME and S-GW are shared across dedicated and shared RANcomponents.

RAN sharing as depicted in FIG. 1 is based on contractual arrangementsfor resource sharing between different Operators. A more powerfulapproach is to perform RAN sharing using the ‘slicing’ approach of aprogrammable RAN. Instead of assuming that each base station has a fixedset of resources allocated to different Operators, in programmable RAN,each eNodeB can be reprogrammed through a logically centralized RANSlice Controller such that resources are reallocated on-demand and inreal-time. With a control channel between each eNodeB and the RAN SliceController, base stations can provide their most recent updated globalview of resource usage, and allow the controller to communicate radioresource management decisions back to the eNodeB.

FIG. 2 illustrates a simple exemplary network with a RAN comprised ofeNodeB 1, eNodeB 2 and eNodeB 3, numbered 217, 218 and 219,respectively. Each eNodeB has an ‘Agent’ component, 220, 221, and 222,in communications with centralized RAN Slice Controller 101. Theinterface 304 between RAN Agents 220, 221, and RAN Slice Controller 101is an Open API.

In one embodiment, the Open API on interface 304 is a RepresentationalState Transfer (REST) API, which allows sending an HTTP/HTTPS GETmessage using the other end point's IP address. That message wouldcontain a URI string referencing the relevant network end point andcomprising an HTTP payload with a JSON (JavaScript Object Notation)header that has the proper parameters for a particular interface andstatistic. As a quick background, JSON is used in Javascript on theInternet as an alternative to XML for organizing data. Just like XML,JSON is language-independent and may be combined with C++, Java, Python,Lisp and many other languages. Unlike XML, however, JSON is simply a wayto represent data structures, as opposed to a full markup language. JSONconsists of “name: object” pairs and punctuation in the form ofbrackets, parentheses, semi-colons and colons. Each object is definedwith an operator like “text:” or “image:” and then grouped with a valuefor that operator.

A high-level two-way messaging can be defined between Agents 220, 221,222 and RAN Slice controller 101. This interface is used to manage theprofile database within RAN Slice Controller 101. “RB (Resource Block)Rate”, “Scheduler Type” and “IMSI list” are a few of the profileattributes to be used for the scheduling of resources of the eNodeB.Exemplary messages on the interface can be broadly grouped in thefollowing categories:

Session Setup Messages —INIT, INIT_ACK

-   -   Link Maintenance Messages —ECHO_REQ, ECHO_RSP    -   Event Reporting Messages —EVENT_RPT    -   Configuration Messages —CFG_SET_REQ, CFG_SET_RSP    -   Statistics Reporting Messages —STATS_REQ, STATS_RSP

As illustrated in FIG. 2, each eNodeB can be sliced differently. WhileeNodeB 217 and 218 are sliced into three different slices with eachslice having a different profile defining different resource usage,eNodeB 219 has only two slices. One can conceive slices as allocated tothe same or different operators as illustrated in the Figure. If a sliceis allocated to a different operator, then associated provisioning fileof that Operator defining how services are delivered must also bedownloaded onto the eNodeB. An exemplary profile of a slice is definedby (a) uplink and downlink usage percentages in bit per second, (b) thenumber of resource blocks usable, and (c) the MAC scheduler type usable.

A ‘resource block’ for LTE is defined in prior art as the smallest unitof resources that can be allocated to a user. The resource block is 180kHz wide in frequency and 1 slot long in time. In frequency, resourceblocks are either 12×15 kHz subcarriers or 24×7.5 kHz subcarriers wide.The number of subcarriers used per resource block for most channels andsignals is 12 subcarriers. Although the term ‘resource block’ is usedfor LTE, other resource representations may be used in 5G and beyond,and should be considered covered by this embodiment. A ‘MAC Scheduler’(or scheduler in short) within the eNodeB determines how the downlinkand uplink channels are used. The scheduler assigns these resources insuch a way as to satisfy QoS requirements and optimize systemperformance.

FIG. 3 illustrates an embodiment of the invention. Operators A, B and Care members of RANxChange sharing their RAN capacity. Operator B has alocal RAN Slice Controller 101 b, and Operator C has a local RAN SliceController 101 c, while Operator A does not have a local RAN SliceController, but relies on the RAN Slice Controller 101 co-located withof RANxChange 100 (i.e., local). RAN Slice Controllers 101, 101 b and101 c are also interconnected to exchange configuration messages. Thereare three key interfaces:

-   -   API 1: Per this invention, a RAN Slice Controller to RAN Slice        Controller interface shown as 307, 308 and 309. This interface        is used for a RAN Slice Controller to securely communicate with        another RAN Slice Controller. This API is multi functional.    -   API 2: Per this invention, RANxChange to RAN Slice Controller        interface shown as 301 and 302. This interface is used for the        RANxChange and RAN Slice Controller to securely communicate. For        example, it allows RAN Slice Controller (i) to send        notifications on available slice capacity automatically        preventing manual intervention, and (ii) report slice usage        after the lease period starts. In turn, RANxChange can send        messages to RAN Slice Controller (i) to block a particular slice        resource if a bid is accepted, and (ii) to claim a slice        resource at the start time of the lease.    -   API 3: RAN Slice Controller to eNodeB (Agent) interface shown as        304 a, 304 b and 304 c. This interface is used for configuring        the eNodeBs. ProgRAN is an embodiment of this interface in prior        art, and its functionality is covered in Sunay, U.S. Pat. No.        9,680,958 B2 (System and Method for Programmable Radio Access        Networks).

The secure connections amongst RAN Slice Controllers, and between eachRAN Slice Controller and the RANxChange can be secure TCP/IP tunnelsover the public Internet or on an MPLS network, or it can simply be overprivate lines. An authentication and authorization step will be neededbefore conducting any message exchange if it is a connection over apublic network.

An embodiment of RANxChange 100 is shown in FIG. 4. RANxChange is asoftware application that runs on a single computer or many computersfor load sharing. There are several key components:

-   -   Web based user interface 401 allows members of RANxChange to        interact with the platform performing key functions such as (a)        entering their member profiles and accounting information        through Operator Interface 402 b, DB 412 b and Leasee Interface        402 a, DB 412 a, (b) entering and/or seeing available RAN slices        by geographic location, by mobile operator and by slice        attributes (including leasing time, capacity and QoS), (c)        performing bidding on a slice and completing a leasing        transaction including charging, and (d) obtaining usage reports        on a leased slice.    -   Slice Activator 405 is the key function of the platform as it        interacts with all remote RAN Slice Controllers 101 c of member        operators to send and receive messages regarding the status and        usage of RAN slices, as well as with the local RAN Slice        Controller 101. It is tied into RAN Configuration Files DB 436        to store the configuration files of each operator for different        slices. Slice Profile DB 437 stores all attributes of slices.        Slice Status DB 438 stores the status of each slice (available,        reserved, claimed, active, completed, failed, overused, etc.)        RAN DB 439 stores information on each mobile operators RAN        components including geographic coordinates, street address, IP        address, security information, etc.    -   Billing/Charging 404 is the function of performing brokerage        between each member lessor and lease. It is attached to Payment        gateway 501 for monetary transactions. In support of        Billing/Charging 404, there are several databases: Accounting DB        416 stores each platform user's accounting information. Bidding        DB 417 stores the results of an active bidding process. Charging        DB 418 stores the slice tariffs and final prices of platform        members. Using web based UI 401, Billing/Charging 404 tracks all        financial transactions of listing slice prices/tariffs,        completions of the bidding process, and finally the charging        members by engaging the payment gateway for the final financial        transaction. Billing/Charging 404 is designed in a flexible way        to allow different financial models due to conducting brokering.    -   Report Generation 408 and associated Key Performance Indicators        DB 444 performs slice usage monitoring during a lease. The usage        and performance data is reported to the leasee and the lessor.    -   Platform Admin Interface 492 is used to manage the platform.

In an embodiment of the system of the invention, the slice ‘capacityavailability notice period’ is customizable. The availability can beprovided, for example, on a longer time period basis (e.g., monthlyaggregate) for each base station in a specific geographic area, in whichcase the notice period must be at least a month-ahead. On-demandavailability is supported such as ‘day-ahead’ or ‘day-of’. In addition,availability for special days can also be announced day-ahead ormonth-ahead. The system supports several such realistic notice periodscenarios. The user interface of the system enables configuration ofnotice periods.

The simplest slice pricing can be based on a published ‘tariff’ whereineach slice is listed by slice location, slice capacity, and slice QoS,and priced accordingly. For example, a slice in crowded metropolitanarea might be more expensive than the same slice in a sparsely populatedrural area. Even though such a tariff is published, the leasee should beallowed to bid higher than the tariff if there is more than one leaseeinterested in obtaining the slice. The web based user interface allowsthe leasee to see other bids and over-bid, if interested. The finalslice price can be determined either (i) on a scheduled basis (e.g., 12hours after slice capacity announcement) or (ii) by the leaser Operatorafter an Operator-customized time period expires. Both options aresupported. Furthermore, there is a penalty of shortfall of deliverydefined for each slice in case the operator fails to deliver thepromised capacity. The amount corresponding to the penalty can also becustomized.

Payment transaction between the leasee and leaser is performed onlythrough the system. The brokering fee is deducted from each transaction,and the remainder is deposited into the leaser's account. Suchtransaction is enabled a secure connection to a payment gateway.

FIG. 5 and FIG. 6 show the basic steps of Operator B leasing a sliceoffered by Operator A. In FIG. 5, both Operator A and B have local RANSlice Controllers. In FIG. 6, Operator A does not have a RAN SliceController, and hence the RAN Slice Controller of RANxChange acts as theRAN Slice Controller of Operator A.

When a new slice becomes available, it is stored in the RANxChange bythe slice-owner mobile operator (Operator A) either manually or throughthat operator's RAN Slice Controller electronically. A slice changesmany states as the brokering process is about to be conducted. Theinitial state of a slice is ‘available’. When the RANxChange registersit in its database, it changes it's state as ‘locked’ after it sends amessage to the RAN Slice Controller A to block its usage and the RANSlice Controller successfully locks it from any usage. The lockingrequires RAN Slice Controller A to communicate with eNodeB A. During thebidding process, the slice resource stays available and locked. AfterOperator B obtains the slice through a successful bidding process,RANxChange sends a message to RAN Slice Controller B that the sliceresource is ‘available at the start time of the lease’. This messagecontains attachment information of Operator A's RAN Slice Controller.Either the start time of the lease or after the slice resource changesstate to available, RAN Slice Controller B sends a message to RAN SliceController A to claim the slice. This message contains the leasee'sconfiguration file to configure the slice. The state of the slice ischanged to ‘in-use’ at the start time of the slice. If the process ofconfiguring the slice does not succeed, the state of the slice ischanged to ‘provisioning-failed’. There may be other states of the slicesuch as ‘overused’ or ‘underused’, etc.

There are four key stages of a slice's lifetime:

-   -   Resource Announcement: Initial slice resource announcement by        the leaser.

The slice data is in RANxChange database.

-   -   Resource Locking/Blocking: The RANxChange checks that the slice        resource is indeed available and blocks it's use until the        auctioning and leasing financial transaction are completed.    -   Resource Activation/Claiming: Once a lease transaction is        finalized, the slice is activated at the start time of the        slice.    -   Resource Usage Monitoring: Once the slice is in use, the usage        monitoring starts.

Many of the above-described features and applications can be implementedas software processes that are specified as a set of instructionsrecorded on a computer readable storage medium (also referred to ascomputer readable medium). When these instructions are executed by oneor more processing unit(s) (e.g., one or more processors, cores ofprocessors, or other processing units), they cause the processingunit(s) to perform the actions indicated in the instructions.Embodiments within the scope of the present disclosure may also includetangible and/or non-transitory computer-readable storage media forcarrying or having computer-executable instructions or data structuresstored thereon. Such non-transitory computer-readable storage media canbe any available media that can be accessed by a general purpose orspecial purpose computer, including the functional design of any specialpurpose processor. By way of example, and not limitation, suchnon-transitory computer-readable media can include flash memory, RAM,ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storageor other magnetic storage devices, or any other medium which can be usedto carry or store desired program code means in the form ofcomputer-executable instructions, data structures, or processor chipdesign. The computer readable media does not include carrier waves andelectronic signals passing wirelessly or over wired connections.

Computer-executable instructions include, for example, instructions anddata which cause a general purpose computer, special purpose computer,or special purpose processing device to perform a certain function orgroup of functions. Computer-executable instructions also includeprogram modules that are executed by computers in stand-alone or networkenvironments. Generally, program modules include routines, programs,components, data structures, objects, and the functions inherent in thedesign of special-purpose processors, etc. that perform particular tasksor implement particular abstract data types. Computer-executableinstructions, associated data structures, and program modules representexamples of the program code means for executing steps of the methodsdisclosed herein. The particular sequence of such executableinstructions or associated data structures represents examples ofcorresponding acts for implementing the functions described in suchsteps.

Processors suitable for the execution of a computer program include, byway of example, both general and special purpose microprocessors, andany one or more processors of any kind of digital computer. Generally, aprocessor will receive instructions and data from a read-only memory ora random access memory or both. The essential elements of a computer area processor for performing or executing instructions and one or morememory devices for storing instructions and data. Generally, a computerwill also include, or be operatively coupled to receive data from ortransfer data to, or both, one or more mass storage devices for storingdata, e.g., magnetic, magneto-optical disks, or optical disks. However,a computer need not have such devices. Moreover, a computer can beembedded in another device.

In this specification, the term “software” is meant to include firmwareresiding in read-only memory or applications stored in magnetic storageor flash storage, for example, a solid-state drive, which can be readinto memory for processing by a processor. Also, in someimplementations, multiple software technologies can be implemented assub-parts of a larger program while remaining distinct softwaretechnologies. In some implementations, multiple software technologiescan also be implemented as separate programs. Finally, any combinationof separate programs that together implement a software technologydescribed here is within the scope of the subject technology. In someimplementations, the software programs, when installed to operate on oneor more electronic systems, define one or more specific machineimplementations that execute and perform the operations of the softwareprograms.

A computer program (also known as a program, software, softwareapplication, script, or code) can be written in any form of programminglanguage, including compiled or interpreted languages, declarative orprocedural languages, and it can be deployed in any form, including as astand-alone program or as a module, component, subroutine, object, orother unit suitable for use in a computing environment. A computerprogram may, but need not, correspond to a file in a file system. Aprogram can be stored in a portion of a file that holds other programsor data (e.g., one or more scripts stored in a markup languagedocument), in a single file dedicated to the program in question, or inmultiple coordinated files (e.g., files that store one or more modules,sub programs, or portions of code). A computer program can be deployedto be executed on one computer or on multiple computers that are locatedat one site or distributed across multiple sites and interconnected by acommunication network.

These functions described above can be implemented in digital electroniccircuitry, in computer software, firmware or hardware. The techniquescan be implemented using one or more computer program products.Programmable processors and computers can be included in or packaged asmobile devices. The processes and logic flows can be performed by one ormore programmable processors and by one or more programmable logiccircuitry. General and special purpose computing devices and storagedevices can be interconnected through communication networks.

Some implementations include electronic components, for examplemicroprocessors, storage and memory that store computer programinstructions in a machine-readable or computer-readable medium(alternatively referred to as computer-readable storage media,machine-readable media, or machine-readable storage media). Someexamples of such computer-readable media include RAM, ROM, read-onlycompact discs (CD-ROM), recordable compact discs (CD-R), rewritablecompact discs (CD-RW), read-only digital versatile discs (e.g., DVD-ROM,dual-layer DVD-ROM), a variety of recordable/rewritable DVDs (e.g.,DVD-RAM, DVD-RW, DVD+RW, etc.), flash memory (e.g., SD cards, mini-SDcards, micro-SD cards, etc.), magnetic or solid state hard drives,read-only and recordable Blu-Ray® discs, ultra density optical discs,any other optical or magnetic media, and floppy disks. Thecomputer-readable media can store a computer program that is executableby at least one processing unit and includes sets of instructions forperforming various operations. Examples of computer programs or computercode include machine code, for example is produced by a compiler, andfiles including higher-level code that are executed by a computer, anelectronic component, or a microprocessor using an interpreter.

While the above discussion primarily refers to microprocessor ormulti-core processors that execute software, some implementations areperformed by one or more integrated circuits, for example applicationspecific integrated circuits (ASICs) or field programmable gate arrays(FPGAs). In some implementations, such integrated circuits executeinstructions that are stored on the circuit itself.

As used in this specification and any claims of this application, theterms “computer readable medium” and “computer readable media” areentirely restricted to tangible, physical objects that store informationin a form that is readable by a computer. These terms exclude anywireless signals, wired download signals, and any other ephemeralsignals.

CONCLUSION

A system and method has been shown in the above embodiments for theeffective implementation of a system and method for a RAN exchange.While various preferred embodiments have been shown and described, itwill be understood that there is no intent to limit the invention bysuch disclosure, but rather, it is intended to cover all modificationsfalling within the spirit and scope of the invention, as defined in theappended claims. For example, the present invention should not belimited by software/program, computing environment, or specificcomputing hardware.

1. A method comprising: (a) determining unused base station capacity ofat least one base station owned by at least one mobile operator; (b)slicing determined unused base station capacity of the at least one basestation determined in (a) into one or more slices; (c) advertising atleast one slice in the one or more slices of unused base stationcapacity with an associated set of attributes for a short-term lease;(d) blocking use of the advertised at least one slice after theadvertising step (c) by sending a directive for the blocking to the atleast one base station; and (e) receiving instructions to remotelyconfigure the advertised at least one slice upon successful completionof an auctioning process where a leasee winning the auctioning processleases the at least one slice on a short-term basis.
 2. The method ofclaim 1, wherein the set of attributes are any of, or a combination ofthe following: (a) advertising operator, (b) base-station location andidentifier, (b) time-frame of capacity availability, (c) time-frequencycellular resource blocks, (d) total uplink and downlink data throughput,(e) QoS, and (f) initial price/tariff.
 3. The method of claim 1, whereinthe leasee is another mobile operator, a virtual mobile operator, or anapplication provider.
 4. The method of claim 1, wherein the remotelyconfigured step in (e) is performed at a completion of a leasingtransaction or at a start time of the at least one slice by sending aconfiguration file of the leasee to at least one mobile operator.
 5. Themethod of claim 1, wherein blocking in (d) is performed by sending, to aRadio Access Network (RAN) slice controller associated with the at leastone mobile operator owning the base station, a directive, the directivesent over the public Internet or a private network, wherein the RANslice controller controls the use of the at least one slice.
 6. Themethod of claim 1, wherein the method further comprises reporting usageto both owner and leasee of the at least one slice during or afterleasing period is completed.
 7. The method of claim 1, whereinadvertising in step (c) is performed during any of the followingperiods: a day ahead, a day of, a week ahead, and a month ahead fromstart time of a lease.
 8. The method of claim 1, wherein leasing isperformed after completing a bidding process between different leaseesfor a full auctioned capacity or after completing a portion of the fullauctioned capacity.
 9. The method of claim 1, wherein auctioning isperformed online between at least two candidate leasees and can startwith a slice tariff which is determined by slice attributes.
 10. Asystem allowing partitioning of unused capacity of a plurality of basestations owned by a plurality of mobile operators, and a plurality ofleasee leasing partitions on a short-term basis, the system comprising:(a) a Web-based interface for communication with: i. at least one mobileoperator owning a base station capacity, the Web-based interfaceenabling the at least one mobile operator to become a member andadvertise their partition of unused base station capacity with anassociated set of attributes for a short-term lease; ii. at least oneleasee interested in leasing unused base station capacity, the Web-basedinterface enabling the at least one leasee to become another member andlease an available unused base station capacity partition; (b) a sliceactivator to remotely send directives to Radio Access Network (RAN)slice controllers of mobile operators for blocking, activating andconfiguring partitions for leasing; (c) a billing/charging engineallowing auctioning between multiple leasees and charging of a givenleasee for a given leased slice, the billing/charging engine connectingto a payment gateway for transaction handling; and (d) a default localRAN slice controller receiving instructions from the slice activator anddirectly controlling base stations of those member mobile operatorswithout a local RAN Slice Controller, and sending directives to RANSlice Controllers of member mobile operators with local RAN SliceController for controlling their respective base stations.
 11. Thesystem of claim 10, wherein the set of attributes are any of, or acombination of the following: (a) advertising operator, (b) base-stationlocation and identifier, (b) time-frame of capacity availability, (c)time-frequency cellular resource blocks, (d) total uplink and downlinkdata throughput, (e) QoS, and (f) initial price/tariff.
 12. The systemof claim 10, wherein the leasee is another mobile operator, a virtualmobile operator, or an application provider.
 13. The system of claim 10,wherein blocking in (b) is performed by sending, to a Radio AccessNetwork (RAN) slice controller associated with the at least one mobileoperator owning the base station, a directive, the directive sent overthe public Internet or a private network, wherein the RAN slicecontroller controls the use of the at least one slice.
 14. The system ofclaim 10, wherein advertising in (a) is performed during any of thefollowing periods: a day ahead, a day of, a week ahead, and a monthahead from start time of a lease.
 15. The system of claim 10, whereinleasing is performed after completing a bidding process betweendifferent leasees for a full auctioned capacity or after completing aportion of the full auctioned capacity.
 16. The system of claim 10,wherein auctioning is performed online between at least two candidateleasees and can start with a slice tariff which is determined by sliceattributes.
 17. A method for a first Radio Access Network (RAN) slicecontroller associated with a first mobile operator to interface with asecond RAN slice controller of a second mobile operator using an API,the method comprising the steps of: (a) authenticating and authorizingcommunications over the API between the first RAN controller and thesecond RAN controller; (b) sending a second operator's configurationfile to configure a specific slice on a base station associated with thefirst mobile operator for usage by the second mobile operator; and (c)sending a directive to activate or deactivate usage of the specificslice by the second operator.
 18. A method for an external systeminterfacing with first Radio Access Network (RAN) slice controllerassociated with a first mobile operator and with a second RAN slicecontroller of a second mobile operator using an API, the methodcomprising the steps of: (a) authenticating and authorizingcommunications over the API between the external system and the firstRAN slice controller, and between the external system and the second RANslice controller; (b) the first RAN slice controller reporting availableslice capacity to said external system allowing partitioning of unusedcapacity of a plurality of base stations owned by the first mobileoperator, and a plurality of leasee leasing reported partitions on ashort-term basis; (c) receiving from the external system a directive toblock usage of the slice capacity; (d) sending a second operator'sconfiguration file to configure a specific slice on a base stationassociated with the first mobile operator for usage by the second mobileoperator; (e) sending a directive to the first mobile operator toactivate or deactivate usage of the specific slice by the second mobileoperator; and (f) sending a directive to first operator to report usageof the specific slice by users associated with the second mobileoperator.
 19. A method for a first Radio Access Network (RAN) slicecontroller associated with an external system interfacing directly witha first operator's base station using an API, the method comprising thesteps of: (a) authenticating and authorizing communications over the APIbetween the the first RAN slice controller and the base station; (b)receiving from the external system a directive to block a slicecapacity's usage on the first operator's base station; (c) sending asecond operator's configuration file to configure a specific slice on abase station associated with the first mobile operator's base stationfor usage by the second mobile operator; (d) sending a directive to thefirst mobile operator's base station to activate or deactivate usage ofthe specific slice by the second mobile operator; and (e) sending adirective to first operator's base station to report usage of thespecific slice by users associated with the second mobile operator.